Лабораторная работа №1

Математическое моделирование

Дикач А.О.

Российский университет дружбы народов, Москва, Россия

17 февраля 2025

Информация

Докладчик

  • Дикач Анна Олеговна
  • НПИбд-01-22
  • Российский университет дружбы народов
  • https://github.com/chelibos

Цели и задачи

Научиться работать с git и Markdown.

Выполнение лабораторной работы

Создание проекта

Создаю каталог, перехожу в него, создаю файл hello.html. Создаю репозиторий с помощью команты git init и добавляю файл в созданный репозиторий. Проверяю текущее состояние репозитория. Коммитить нечего. Это означает, что в репозитории хранится текущее состояние рабочего каталога, и нет никаких изменений, ожидающих записи.

Работа в терминале

Внесение изменений

Меняю содержимое файла hello и проверяю состояние рабочего каталога

Изменённый файл
Проверка состояния

Индексация изменений

Индексирую изменения и проверяю состояние

Индексация

Открываю редактор коммита с помощью git commit и добавляю первую строку с текстом “Added h1 tag”

Редоктирование
Проверка состояния

Изменяю страницу hello и добаляю это изменение в индекс git

Изменение страницы

Добавляю секцию head к странице и проверяю текущий статус. Индексирую, проверяю состояние и добавляю второе изменение в индекс

Изменение файла
Проверка состояния
Второе изменение

Получаю список произведённых изменений и тот же список в однострочном формате истории

Лог изменений

Просматриваю справочную страницу

Справочная страница

Получаю хэши предыдущих версий. Проверяю содержимое файла hello и возвращаюсь к последней версии на ветке master

Получение хэшев и возвращение к последней версии

Создаю тег первой версии с помощью “git tag v1”. Далее создаю тег v1-beta с помощью “git tag v1-beta”. Пробую переключиться между двумя отмеченными версиями.

Создание тегов
Перемещение между тегами

Вношу изменения в файл hello и проверяю состояние рабочего каталога. Пробую команду git checkout для переключения между версиями файла

Измения в файле
Проверка

Снова изменяю файл hello и индексирую изменение. Проверяю состояние нежелательного изменения. Выполняю сброс буферной зоны и переключаюсь на версию коммита

Изменения в файле
Проверка

Изменяю файл hello и иденксирую его

Изменение файла

Для того чтобы отменить коммит я перехожу в редактор и редактирую сообщение по умолчанию

Работа в редакторе
Работа в редакторе

Проверяю лог с помощью git log

Лог

Отмечаю последний коммит тегом и проверяю историю коммитов

Тегую коммит

Сбрасываю ветку до точки v1 с помощью “git reset –hard v1” и просматриваю коммиты

Сброс тега
Просмотр коммитов

Удаляю тег oops и теги на которые он ссылался

Удаление тега

Добавляю на страницу комментарий автора и индексирую

Работа в hello

Обновляю страницу включив в неё email

Изменение hello

Изменяю предыдущий коммит, включив в него адрес электронной почты и просматриваю git log

Работа в терминале

Переношу страницу в каталог lib

Перенос страницы

Создаю файл index.html в репозиторий, изменяю изменения и добавляю коммит

Работа с файлом
Отображение файла

Выполняю “ls -C .git/objects” для того чтобы просмотреть набор каталогов, имена которых состоят из 2-х символов. Далее с помощью “ls -C .git/objects/” просматриваю каталоги с именем из 2-х букв и выполняю “cat .git/config”

Работа в терминале

Вывожу содержимое файлов refs, heads, tags, v1

Просмотр содержимого

Выполняю “cat .git/HEAD”. Далее с помощью “git log –max-count=1” просматриваю последний коммит в репозитории . Далее ввожу последний коммит с помощью SHA1 хэша. Выыожу дерево каталогов. Вывожу содержимое каталога lib и файла hello.html

Работа в терминале

Создание ветки

Создвю ветку и называю её style. Создаю в ней файл и вношу изменения. Индексирую и коммичу

Работа с новой веткой

Изменяю основную страницу, сохраняю и коммичу. Изменяю файл index чтобы он тоже использовал style, сохраняю и индексирую

Изменение основной страницы
Изменение файла index

Просматриваю ветки в проекте

Просмотр

Переключаюсь на другую ветку и выполняю “git checkout style” и “cat lib/hello.html”. Вношу изменения в файл README.md, сохраняю и коммичу

Работа с ветками

Использую “git log –graph –all” для просмотра веток и их отличий

Просмотр

Вношу изменения в файл lib/hello.html, сохраняю и коммичу

Внесённые изменения

Просмотриваю логи

Просмотр

После объединения веток в файле возникла ошибка, которую я исправляю вручную

Исправленная ошибка

Перехожу в рабочий каталог и делаю клон репозитория. Просматриваю его содержание

Создание клона репозитория

Просматриваю историю репозитория клона, она совпадает с оригиналом

Просмотр истории клона

Выполняю “git remote” и наблюдаю что клонированный репозиторий знает об имени по умолчанию удаленного репозитория. Просмматриваю более подробную информацию с помощью “git remote show origin”. Далее просматриваю доступные ветки в клонированном репозитории, а также все возможные ветки с помощью “git branch -a”

Работа в терминале

Перехожу в hello и ввожу изменения в README.md, добавляю изменения и делаю коммит

Работа в терминале

Редактирую README.md и выполняю “git checkout master”, “git add README”, “git commit -m”Added shared comment to readme”“. Отправляю изменения в общий репозиторий

Работа в терминале

Перехожу в hello, добавляю новый удалённый репозиторий, создаю новую локальную ветку, извлекаю изменения из ветки удалённого репозитория и объединяю их с текущей веткой и просматриваю содержимое файла

Работа в терминале

Вывод

Ознакомилась с принципами работы git и Markdown.